**Async/Await**
Async/await, JavaScript'te eşzamansız (asenkron) işlemleri daha kolay yazmayı ve okumayı sağlayan bir sözdizimidir. Aslında, promise'lerin üzerine inşa edilmiş bir yapıdır ve eşzamansız kodu sanki eş zamanlıymış gibi yazmanıza olanak tanır. Bu, kodu daha anlaşılır hale getirir ve hata ayıklamayı kolaylaştırır.
* **`async` Anahtar Kelimesi:** Bir fonksiyonun başına `async` anahtar kelimesini eklediğinizde, o fonksiyon otomatik olarak bir promise döndürür. Eğer fonksiyonun içinde bir değer döndürülürse, bu değer resolved (başarılı) bir promise ile sarılır. Eğer bir hata oluşursa, rejected (başarısız) bir promise döndürülür.
* Daha fazlası için: [Asenkron Programlama](https://www.nedemek.page/kavramlar/Asenkron%20Programlama)
* **`await` Anahtar Kelimesi:** `await` anahtar kelimesi sadece `async` fonksiyonlar içinde kullanılabilir. Bir promise'in çözülmesini (resolve) bekler ve promise çözülene kadar fonksiyonun çalışmasını durdurur. Promise çözüldükten sonra, `await` ifadesi çözülen değeri döndürür ve fonksiyonun çalışması devam eder.
* Daha fazlası için: [Promise](https://www.nedemek.page/kavramlar/Promise)
**Temel Kullanım:**
```javascript
async function veriAl() {
try {
const veri = await fetch('https://api.example.com/data'); // Promise'in çözülmesini bekle
const jsonVeri = await veri.json(); // Promise'in çözülmesini bekle
console.log(jsonVeri);
return jsonVeri;
} catch (hata) {
console.error('Hata:', hata);
}
}
veriAl();
Avantajları:
.then()
bloklarından kaçınmayı sağlar.try...catch
blokları ile eşzamansız hataları eş zamanlı hatalar gibi yakalamayı kolaylaştırır.Özet:
Async/await, JavaScript'te eşzamansız işlemleri yönetmek için güçlü ve okunabilir bir araçtır. Promise'ler üzerine inşa edilmiştir ve eşzamansız kodu daha kolay yazmanıza, okumanıza ve hata ayıklamanıza yardımcı olur.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page